package cd.casic.server;

import cd.casic.server.entity.JenkinsPlugin;
import cd.casic.server.utils.JenkinsPluginApiClient;

import java.io.IOException;
import java.net.URISyntaxException;
import java.util.List;

public class Main {
    /**
     * 示例：如何使用这个客户端
     */
    public static void main(String[] args) {
        String jenkinsUrl = "http://192.168.101.140:8080";
        String username = "admin";
        String apiToken = "11187fbddbede683ff06de4a5d08397319";

        JenkinsPluginApiClient manager = new JenkinsPluginApiClient(jenkinsUrl, username, apiToken);

        try {
            // 列出所有已安装插件
//            System.out.println("已安装插件列表:");
//            List<JenkinsPlugin> installedPlugins = manager.getInstalledPlugins();
//            installedPlugins.forEach(plugin -> {
//                System.out.println("插件: " + plugin.getShortName() + " (" + plugin.getVersion() + ")");
//                System.out.println("状态: " + (plugin.isActive() ? "活跃" : "非活跃") +
//                        ", 已启用: " + plugin.isEnabled());
//                System.out.println("描述: " + plugin.getDescription());
//                System.out.println("-------------------");
//            });

            // 搜索插件
            System.out.println("\n搜索插件 'git':");
            List<JenkinsPlugin> searchResults = manager.getAvailablePlugins("git");
            searchResults.forEach(result -> {
                System.out.println("搜索结果: " + result.getShortName() + " (" + result.getVersion() + ")");
                System.out.println("描述: " + result.getDescription());
                System.out.println("-------------------");
            });

//             安装插件示例（谨慎使用）
//             manager.installPlugin("greenballs");
//
//             删除插件示例（谨慎使用）
//             manager.deletePlugin("greenballs");

        } catch (IOException e) {
            e.printStackTrace();
        } catch (URISyntaxException e) {
            throw new RuntimeException(e);
        }
    }
}
